package com.luyuan.system.service.impl;

import java.util.List;

import com.luyuan.common.core.domain.entity.WxappUser;
import com.luyuan.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.luyuan.system.mapper.WxappUserMapper;
import com.luyuan.system.service.IWxappUserService;

/**
 * 微信小程序用户信息Service业务层处理
 * 
 * @author luyuan
 * @date 2025-11-14
 */
@Service
public class WxappUserServiceImpl implements IWxappUserService {
    @Autowired
    private WxappUserMapper wxappUserMapper;

    /**
     * 查询微信小程序用户信息
     * 
     * @param userId 微信小程序用户信息主键
     * @return 微信小程序用户信息
     */
    @Override
    public WxappUser selectWxappUserByUserId(Long userId) {
        return wxappUserMapper.selectWxappUserByUserId(userId);
    }

    /**
     * 根据openid查询微信小程序用户
     * 
     * @param openid 微信openid
     * @return 微信小程序用户
     */
    @Override
    public WxappUser selectWxappUserByOpenid(String openid) {
        return wxappUserMapper.selectWxappUserByOpenid(openid);
    }

    /**
     * 查询微信小程序用户信息列表
     * 
     * @param wxappUser 微信小程序用户信息
     * @return 微信小程序用户信息
     */
    @Override
    public List<WxappUser> selectWxappUserList(WxappUser wxappUser) {
        return wxappUserMapper.selectWxappUserList(wxappUser);
    }

    /**
     * 新增微信小程序用户信息
     * 
     * @param wxappUser 微信小程序用户信息
     * @return 结果
     */
    @Override
    public int insertWxappUser(WxappUser wxappUser) {
        wxappUser.setCreateTime(DateUtils.getNowDate());
        return wxappUserMapper.insertWxappUser(wxappUser);
    }

    /**
     * 修改微信小程序用户信息
     * 
     * @param wxappUser 微信小程序用户信息
     * @return 结果
     */
    @Override
    public int updateWxappUser(WxappUser wxappUser) {
        wxappUser.setUpdateTime(DateUtils.getNowDate());
        return wxappUserMapper.updateWxappUser(wxappUser);
    }

    /**
     * 批量删除微信小程序用户信息
     * 
     * @param userIds 需要删除的微信小程序用户信息主键
     * @return 结果
     */
    @Override
    public int deleteWxappUserByUserIds(Long[] userIds) {
        return wxappUserMapper.deleteWxappUserByUserIds(userIds);
    }

    /**
     * 删除微信小程序用户信息信息
     * 
     * @param userId 微信小程序用户信息主键
     * @return 结果
     */
    @Override
    public int deleteWxappUserByUserId(Long userId) {
        return wxappUserMapper.deleteWxappUserByUserId(userId);
    }
}
